#XPATH网页元素定位方法（相对路径）---课上教学
#导包
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By

#反爬
op = webdriver.ChromeOptions()
op.add_experimental_option('excludeSwitches', ['enable-automation'])
op.add_experimental_option('useAutomationExtension', False)

#打开Chrome浏览器
driver = webdriver.Chrome(options=op)

#打开网址（百度新闻首页）
driver.get('http://news.baidu.com/')
sleep(1)#持续时间1秒

#XPATH网页元素定位方法（相对路径）
#定位元素找到第一条新闻的链接并赋值变量
ele1=driver.find_element(By.XPATH,'//*[@id="pane-news"]/div/ul/li[1]/strong/a')

#获取新闻标题并赋值变量
content=ele1.text

#点击新闻
ele1.click()
sleep(4.5)

#句柄
current=driver.current_window_handle #当前(活动)页面的句柄
all_handles=driver.window_handles#所有页面的句柄
print("current：",current)#句柄打印出来的是python中的列表
print("all_handles：",all_handles)

#切换活动页面
driver.switch_to.window(all_handles[1])#第二个页面的下标用1表示
print("current：",driver.current_window_handle)
#获取窗口标题
print(driver.title)

assert content in driver.title#断言
driver.quit()#退出